%s
"
++ %{ t and " title='" .. t .. "'" or "", s }
++ end
++
++ function rowstyle(i)
++ return "cbi-rowstyle-%i" %{
++ ( i % 2 ) == 0 and 2 or 1
++ }
++ end
++
++ function format_matches(z)
++ local html = { }
++
++ if type(z) ~= "table" then
++ z = { matches = { z } }
++ end
++
++ if z.localprefix then
++ for _, m in ipairs(z.matches) do
++ html[#html+1] =
++ digit_pattern(z.localprefix, "local prefix") .. " " ..
++ digit_pattern(m)
++ end
++ end
++
++ if z.intlmatches and #z.intlmatches > 0 then
++ for _, i in ipairs(z.intlmatches) do
++ for _, m in ipairs(z.matches) do
++ html[#html+1] = "%s %s" %{
++ digit_pattern("(%s)" % i, "intl. prefix"),
++ digit_pattern(m)
++ }
++ end
++ end
++ else
++ for _, m in ipairs(z.matches) do
++ html[#html+1] = digit_pattern(m)
++ end
++ end
++
++ return table.concat(html, "; ")
++ end
++%>
++
++
++
++
++<%+footer%>
+diff --git a/feeds/luci/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm b/feeds/luci/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm
+new file mode 100644
+index 0000000..ffdbbcf
+--- /dev/null
++++ b/feeds/luci/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm
+@@ -0,0 +1,165 @@
++<%#
++ Copyright 2008 Steven Barth %s
" % s
++ end
++
++ function rowstyle(i)
++ return "cbi-rowstyle-%i" %{
++ ( i % 2 ) == 0 and 2 or 1
++ }
++ end
++
++ local function find_trunks()
++ local t = { }
++
++ uci:foreach("asterisk", "sip",
++ function(s)
++ if uci:get_bool("asterisk", s['.name'], "provider") then
++ t[#t+1] = {
++ "SIP/%s" % s['.name'],
++ "SIP: %s" % s['.name']
++ }
++ end
++ end)
++
++ uci:foreach("asterisk", "iax",
++ function(s)
++ t[#t+1] = {
++ "IAX/%s" % s['.name'],
++ "IAX: %s" % s.extension or s['.name']
++ }
++ end)
++
++ return t
++ end
++
++%>
++
++
++
++
++<%+footer%>
+diff --git a/feeds/luci/applications/luci-app-asterisk/po/ca/asterisk.po b/feeds/luci/applications/luci-app-asterisk/po/ca/asterisk.po
+new file mode 100644
+index 0000000..9775758
+--- /dev/null
++++ b/feeds/luci/applications/luci-app-asterisk/po/ca/asterisk.po
+@@ -0,0 +1,680 @@
++# asterisk.pot
++# generated from ./applications/luci-asterisk/luasrc/i18n/asterisk.en.lua
++msgid ""
++msgstr ""
++"Project-Id-Version: PACKAGE VERSION\n"
++"Report-Msgid-Bugs-To: \n"
++"POT-Creation-Date: 2009-06-10 03:40+0200\n"
++"PO-Revision-Date: 2009-05-31 19:18+0200\n"
++"Last-Translator: Eduard Duran
++-- ::= :///;?#
++-- ::= @:
++-- ::= [:]
++-- :: = {/}
++--
++--
++-- The leading /
in /
is considered part of
++--
.
++-- @param url URL of request.
++-- @param default Table with default values for each field.
++-- @return A table with the following fields, where RFC naming conventions have
++-- been preserved:
++-- scheme
, authority
, userinfo
,
++-- user
, password
, host
,
++-- port
, path
, params
,
++-- query
, and fragment
.
++-----------------------------------------------------------------------------
++function parse_url(url) --, default)
++ -- initialize default parameters
++ local parsed = {}
++-- for i,v in base.pairs(default or parsed) do
++-- parsed[i] = v
++-- end
++
++ -- remove whitespace
++-- url = string.gsub(url, "%s", "")
++ -- get fragment
++ url = string.gsub(url, "#(.*)$",
++ function(f)
++ parsed.fragment = f
++ return ""
++ end)
++ -- get scheme. Lower-case according to RFC 3986 section 3.1.
++ url = string.gsub(url, "^([%w][%w%+%-%.]*)%:",
++ function(s)
++ parsed.scheme = string.lower(s);
++ return ""
++ end)
++ -- get authority
++ url = string.gsub(url, "^//([^/]*)",
++ function(n)
++ parsed.authority = n
++ return ""
++ end)
++ -- get query stringing
++ url = string.gsub(url, "%?(.*)",
++ function(q)
++ parsed.query = q
++ return ""
++ end)
++ -- get params
++ url = string.gsub(url, "%;(.*)",
++ function(p)
++ parsed.params = p
++ return ""
++ end)
++ -- path is whatever was left
++ parsed.path = url
++
++ local authority = parsed.authority
++ if not authority then
++ return parsed
++ end
++ authority = string.gsub(authority,"^([^@]*)@",
++ function(u)
++ parsed.userinfo = u;
++ return ""
++ end)
++ authority = string.gsub(authority, ":([0-9]*)$",
++ function(p)
++ if p ~= "" then
++ parsed.port = p
++ end;
++ return ""
++ end)
++ if authority ~= "" then
++ parsed.host = authority
++ end
++
++ local userinfo = parsed.userinfo
++ if not userinfo then
++ return parsed
++ end
++ userinfo = string.gsub(userinfo, ":([^:]*)$",
++ function(p)
++ parsed.password = p;
++ return ""
++ end)
++ parsed.user = userinfo
++ return parsed
++end
+diff --git a/feeds/luci/applications/luci-app-ddns/luasrc/view/admin_status/index/ddns.htm b/feeds/luci/applications/luci-app-ddns/luasrc/view/admin_status/index/ddns.htm
+new file mode 100644
+index 0000000..9791065
+--- /dev/null
++++ b/feeds/luci/applications/luci-app-ddns/luasrc/view/admin_status/index/ddns.htm
+@@ -0,0 +1 @@
++<%+ddns/system_status%>
+diff --git a/feeds/luci/applications/luci-app-ddns/luasrc/view/ddns/detail_logview.htm b/feeds/luci/applications/luci-app-ddns/luasrc/view/ddns/detail_logview.htm
+new file mode 100644
+index 0000000..4dcb7bb
+--- /dev/null
++++ b/feeds/luci/applications/luci-app-ddns/luasrc/view/ddns/detail_logview.htm
+@@ -0,0 +1,56 @@
++
++
++
++
++<%+cbi/valueheader%>
++
++<%:The entries in the menu allow you to perform diagnostic tests on your system to aid in troubleshooting.%>
++<%:The diagnostics available under this menu depend on what modules you have installed on your device.%>
++<%+footer%> +diff --git a/feeds/luci/applications/luci-app-diag-core/luasrc/view/diag/network_config_index.htm b/feeds/luci/applications/luci-app-diag-core/luasrc/view/diag/network_config_index.htm +new file mode 100644 +index 0000000..3d01453 +--- /dev/null ++++ b/feeds/luci/applications/luci-app-diag-core/luasrc/view/diag/network_config_index.htm +@@ -0,0 +1,10 @@ ++<%# ++ Copyright 2009 Daniel Dickinson ++ Licensed to the public under the Apache License 2.0. ++-%> ++ ++<%+header%> ++<%:With this menu you can configure network diagnostics, such as network device scans and ping tests.%>
++<%:The diagnostics available under this menu depend on what modules you have installed on your device.%>
++<%+footer%> +diff --git a/feeds/luci/applications/luci-app-diag-core/po/ca/diag_core.po b/feeds/luci/applications/luci-app-diag-core/po/ca/diag_core.po +new file mode 100644 +index 0000000..ffe0ded +--- /dev/null ++++ b/feeds/luci/applications/luci-app-diag-core/po/ca/diag_core.po +@@ -0,0 +1,33 @@ ++msgid "" ++msgstr "" ++"Project-Id-Version: PACKAGE VERSION\n" ++"PO-Revision-Date: 2014-06-01 23:52+0200\n" ++"Last-Translator: Alex